iT邦幫忙

2024 iThome 鐵人賽

DAY 18
0

Who the hell are you WebSocket

image alt

前言

隨著網路應用越來越需要即時互動,傳統的 HTTP 請求方式已經無法滿足需求。因此,WebSocket 誕生了,讓雙向、即時的通訊成為可能。無論是線上遊戲、股票即時報價,還是聊天室,WebSocket 都能提供更加流暢的用戶體驗。

Fun fact

image alt
世界上第一款通訊軟體其實是在 1973 年被發明,而它的名字是 Talkomatic。

麻瓜解釋

簡單來說,WebSocket 是一種傳輸協定,採用即時通訊技術,能立即將訊息傳給接收方,具有低延遲、全雙工的連接。這時你可能會想,它跟 HTTP 有什麼差異?像 Email、瀏覽器等一般通訊方式都需要使用者主動操作,並不是即時的,而且會有些延遲。白話:當使用者進行操作時,系統會開門取得資料,然後傳回資訊後關門。但是 WebSocket 不一樣,訊息發出的當下,連接就一直保持暢通狀態。門一旦打開,就會一直開著,從而實現即時通訊。

btw 今天山陀兒颱風來襲,所以小銘與小華休假 :)

歷史

image image alt

左 Michael Carter,右 Ian Hickson

在 WebSocket 還沒有出現時,約 2000 年,最早的即時通訊技術是輪詢。這種技術需要瀏覽器每隔一段時間發送 HTTP 請求給伺服器,以確認是否有新資訊,再回傳給客戶端。這種方法雖可行,但大量的請求與回應會導致伺服器的延遲和資源浪費。後來,輪詢技術有所改進,出現了 Comet,利用長輪詢與 iframe 流來實現假即時通訊。雖然這實現了雙向通訊,但仍然需要反覆發出請求。

直到 2008 年,開發人員 Michael Carter 和 Ian Hickson 敏銳地察覺到使用 Comet 來實現即時功能的痛苦與限制。在 IRC 聊天室裡,他們提出了一項計劃,為網路上的現代化、真正即時通訊引入新標準。「WebSocket」這個名字誕生了。

後記

簡單介紹一下全雙工(Full-Duplex)。它允許兩台裝置同時進行資料傳輸,且兩台裝置各自使用不同的通道,互不干擾。你可以將其理解為複線鐵路,最常見的例子是電話或手機,讓雙方能同時講話並接收到對方的聲音。

參考

websoket歷史
即時通訊歷史
全雙工
即時通訊歷史
FireUG


上一篇
DAY17 Web crawler 在竊取,只因為這件事
下一篇
DAY19 SEO 正在洩漏你的部落格
系列文
麻瓜的程式翻譯書《Who the hell are you XXX》30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
橘子
iT邦新手 4 級 ‧ 2024-10-02 10:35:33

謝謝你在標題的超明顯錯字XDDDDD
相信你一定不是故意的XDDDDDD

Lin iT邦新手 5 級 ‧ 2024-10-02 10:39:31 檢舉

websocket嗎xd

華生 iT邦新手 5 級 ‧ 2024-10-02 10:45:48 檢舉

你真的很棒 給你拍手

我要留言

立即登入留言